This application claims priority under 35 U.S.C. xc2xa7365(a) from International Application No. PCT/FR98/00615, filed Mar. 26, 1998, and published under PCT Article 21(2), on Oct. 8, 1998, in French, which is hereby incorporated by reference.
1. Field of the Invention
The present invention concerns digital signal processing devices which perform fractional delay operations in a linear processing context.
The theory of such devices is well known. Conventionally, and as shown in FIG. 1, these devices comprise on the input side a row of finite impulse response interpolation filters each of which performs a fractional delay operation specific to each input signal.
Each finite impulse response interpolation filter is an approximation of an ideal fractional delay filter. The coefficients of the finite impulse response interpolation filters are calculated using either conventional methods which minimize the mean square error or the Lagrange method.
The delayed signals are then each subjected to specific linear processing, after which they are added. There are also similar devices using an arrangement which is the opposite of that just mentioned. In this case, the same input signal is duplicated to provide a plurality of signals identical to it, which signals are then subject to specific linear processing and a specific fractional delay operation. Such devices are used in voice coders employing fractional pitch resolution, for example.
2. Description of Related Art
FIGS. 1 to 3 show a prior art digital device in which M input signals u1, u2, . . . , uM are delayed before they are subjected to linear processing by a filter T1 through TM and added by an adder S. This type of device is used in conventional applications, for example antenna processing, in which case the delays are chosen as a function of the antenna pointing angle.
The required delay rk is rarely an integer multiple of the sampling period. The delay rk therefore comprises an integer number of sampling periods to which a non-zero fraction xcfx84 of a period is added. Delays which are a multiple of the sampling period are not considered hereinafter because they are particularly simple to implement. The delays to be obtained are considered to consist of this additional fraction of a sampling period.
The device shown in FIGS. 1 to 3 is fed with M input signals uk where k varies in the range from 1 to M. As shown in FIG. 1, each of the M input signals uk is delayed by a fractional delay rk specific to it.
A finite number of fractional delays rk is therefore required. A highest common factor ro of the fractional delays rk can be found. In practice an interpolation filter is implemented for each multiple of ro in the range from zero and the value of the sampling period Te. As shown in FIG. 2, D interpolation filters hi, denoted R0, R1, . . . , RDxe2x88x921 are obtained in this way, producing delays of value             i      D        xc3x97          T      e        ,
where i varies in the range from 0 to (Dxe2x88x921).
Because the same number L of coefficients is chosen for each filter, D filters hi(n) are obtained, where i varies in the range from 0 to (Dxe2x88x921) and n varies in the range from 0 to (Lxe2x88x921).
As shown in FIG. 3, each input signal uk, where k varies in the range from 1 to M, is submitted to an interpolation filter hxcfx84k(n), denoted RFk, which is one of the D filters hi(n) denoted Ri in FIG. 2, i being in the range from 0 to (Dxe2x88x921).
The equations and the criteria used to calculate the coefficients hi(n) of the D interpolations R0 to RDxe2x88x921 will now be summarized.
Let xcfx84k denote the normalized fractional delay value, that is to say       τ    k    =            r      k              T      e      
where rk is the required fractional delay for the signal and Te is the sampling period.
Let uk(n) be the input signal obtained by sampling an analog uk0(t). Assuming that the sampling was done correctly, it is theoretically possible to obtain the delayed digital signal, defined as the samples of the analog signals delayed by uk(n), from uk0(txe2x88x92xcfx84kTe). The skilled person knows that from the signal uk(n), all samples of which are known, the corresponding analog signal uk0(t) can be found using the interpolation equation             u      k      0        ⁡          (      t      )        =                    ∑                  m          =                      -            ∞                          ∞            ⁢                                    u            k                    ⁡                      (            m            )                          ⁢                              sin            ⁡                          (                              π                ⁡                                  (                                                            1                      T                                        -                    m                                    )                                            )                                            (                                          1                                  T                  e                                            -              m                        )                                =                  ∑                  m          =                      -            ∞                          ∞            ⁢                                    u            k                    ⁡                      (            m            )                          ⁢                  sinc          ⁡                      (                                          1                                  T                  e                                            -              m                        )                              
in which case the delayed analog signal rk is             u      k      0        ⁡          (              t        -                  r          k                    )        =                    ∑                  m          =                      -            ∞                          ∞            ⁢                                    u            k                    ⁡                      (            m            )                          ⁢                  sinc          ⁡                      (                                                            t                  -                                      r                    k                                                                    T                  e                                            -              m                        )                                =                  ∑                  m          =                      -            ∞                          ∞            ⁢                                    u            k                    ⁡                      (            m            )                          ⁢                  sinc          ⁡                      (                                          t                                  T                  e                                            -                              τ                k                            -              m                        )                              
The delayed digital signal ukret(n) is then obtained from:
ukret(n)=uk0(nTexe2x88x92rk)
that is:             u      k      rct        ⁡          (      n      )        =                    ∑                  m          =                      -            ∞                          ∞            ⁢                                    u            k                    ⁡                      (            m            )                          ⁢                  sinc          ⁡                      (                          n              -                              τ                k                            -              m                        )                                =                            h                      ideal            ,                          τ              ⁢                              xe2x80x83                            ⁢              k                                      ⁡                  (          n          )                    *                        u          k                ⁡                  (          n          )                    
where the symbol * symbolizes the convolution operation and where hideal,xcfx84k(n)=sinc (nxe2x88x92xcfx84k).
The transfer function in the frequency domain of the filter hideal,xcfx84k is             h              ideal        ,                  τ          ⁢                      xe2x80x83                    ⁢          k                      ⁢          (      f      )        =            ⅇ                        -          j                ⁢                  xe2x80x83                ⁢        2        ⁢        π        ⁢                  xe2x80x83                ⁢                  f                      f            e                          ⁢                  τ          k                      .  
In theory, there is therefore an ideal filter hideal,xcfx84k enabling the delayed sampled signal to be obtained from the sampled signal uk.
A filter of this kind cannot be implemented in practice because:
the summation is infinite, and
the filter is non-causal, i.e. it would be necessary to know the future samples to calculate the result.
The non-causal aspect means that it is only possible to approximate a version having an additional constant delay xcfx840 denoted hideal,xcfx84+xcfx840(n).
In practice, and as shown in FIG. 3, a known process is used to obtain a filter hxcfx84, having a finite number L of coefficients and constituting a good approximation of the filter hideal,xcfx84+xcfx840.
Finite impulse response filters are used in the most widespread applications. It is more difficult to design infinite impulse response filters and they require greater computation accuracy because the data is looped and computation errors can accumulate. Moreover, in a non-static environment, such as antenna processing, the long memory of the filters can be a problem: for example, it is difficult to change the pointing direction of an antenna suddenly.
All-pass filters, a subset of infinite impulse response filters, have the beneficial property of a constant modulus. The absence of amplitude error is unfortunately accompanied by an increased phase error compared to finite impulse response filters of the same complexity. To avoid these problems only finite impulse response filters are used.
Various methods are available for calculating the coefficients hxcfx84(n) of a finite impulse response filter hxcfx84 approximating hideal,xcfx84+xcfx840.
When a finite number L of coefficients of the FIR filter has been chosen, a first method entails choosing a set of coefficients hxcfx84(n) with n varying in the range from 0 to (Lxe2x88x921) which minimizes the mean square error ∫|Excfx84(f)|2df, where             E      τ        ⁢          (      f      )        =                    ∑                  n          =          0                          L          -          1                    ⁢                                    h            τ                    ⁢                      (            n            )                          ⁢                  ⅇ                                    -              j                        ⁢                          xe2x80x83                        ⁢            2            ⁢            π            ⁢                          xe2x80x83                        ⁢                          f                              f                e                                      ⁢            τ                                -                  H                  ideal          ,                      τ            +                          τ              0                                          ⁢              (        f        )            
fe being the sampling frequency and the integration being formed over a wanted frequency band.
Excfx84(f) is often used to define cost functions used to assess the quality of a filter. This method is referred to as method M1. Its result is a truncated and delayed version of the ideal filter hM1,xcfx84(n)=sinc(nxe2x88x92xcfx840xe2x88x92xcfx84).
A second method entails first calculating the coefficients hxcfx84(n) using the previous method and then multiplying them by an apodization window w(n). This method is referred to as method M2. Its effect is to smooth the frequency response of the filter.
If hM1,xcfx84(n) are the coefficients of the filter obtained by the previous method, the coefficients hM2,xcfx84(n) are obtained from the equation hM2,xcfx84(n)=hM1,xcfx84(n)xc2x7w(n) where, for example,       w    ⁢          (      n      )        =      0.54    -          0.46      ⁢              xe2x80x83            ⁢              cos        ⁢                  (                                    2              ⁢              π              ⁢                              xe2x80x83                            ⁢              n                                      L              -              1                                )                    ⁢              w        ⁢                  (          n          )                    
is known as the Hamming window.
A third method entails adopting the set of coefficients hxcfx84(n) which minimize the generalized mean square error Cxcfx84=∫W(f)|Excfx84(f)|2df, where W(f) is a frequency domain weighting function which can be modulated iteratively to obtain a satisfactory function hM3xcfx84(n) and where the integration is performed over a wanted frequency band. This method is referred to as method M3. It yields a linear system of equations.
A fourth method entails adopting the coefficients hxcfx84(n) for which                     (                                                            δ                m                            ⁢                                                E                  τ                                ⁢                                  (                  f                  )                                                                    δ              ⁢                              xe2x80x83                            ⁢                              f                m                                              "RightBracketingBar"                )                    f        -        0              =    0    ,
where m varies in the range from 0 to (Lxe2x88x921). This method is referred to as method M4. The coefficients hM4,xcfx84(n) are obtained from:             h              M4        ,        τ              ⁢          (      n      )        =            ∏                        k          -          0                          k          ≠          n                            L        -        1              ⁢          xe2x80x83        ⁢                  τ        -        k                    n        -        k            
Many examples and a comparison of infinite impulse response and finite impulse response filters can be found in an article in the IEEE signal processing magazine, January 1996, xe2x80x9cSplitting the unit delay, tools for fractional delay filter designxe2x80x9d, by Laakso, Vxc3xa4limxc3xa4ki, Karjalainen, Laine.
FIG. 3 shows that each input signal uk is then submitted to a delayed filter hxcfx84i(n), denoted RFk, where xcfx84k is the normalized delay specific to the signal uk and is one of the values i/D where i varies in the range from 0 to (Dxe2x88x921).
The device shown in FIGS. 1 to 3 therefore performs delay operations on M signals with interpolation filters RF1, . . . RFM of length L, which represents C1=Mxc3x97L operations, where an operation is defined as a multiplication followed by an addition. Also, the memory needed to store the L coefficients of the D filters is C2=Dxc3x97L words.
Such devices are not totally satisfactory. If the number of signals to be delayed is large, the computation load C1 and the memory capacity C2 needed to store the coefficients of the interpolation filters are so large that they make the devices extremely costly to implement and therefore compromise their economic viability.
The aim of the invention is to propose a digital processing device which performs the same processing with the same accuracy but with greatly reduced computation load and memory requirement.
The above aims are achieved in accordance with the invention by a device for processing digital signals conveyed between a common port and M particular ports including a linear processing module characterized in that it includes particular filters which apply at the same time a phase-shift and a chosen amplitude emphasis at each of the M particular ports, said phase-shift being specific to each particular port and the amplitude emphasis being substantially the same for all the particular ports, and in that it includes at said common port a common inversion filter which performs the inverse amplitude acceleration through said chosen amplitude emphasis.
According to the invention, the common port can be an input port or an output port.